对三角形判断成立条件,学过一点小学数学的都知道任意两条边之和大于第三边,不过还有另外一种判定方式任意两边之差小于第三边,其实两者核心思想是一样的,只是判断形式不同,比如a + b > c,可以称为 a > c - b 或者 b > c - a。 由于数据比较大,这里我们采用任意两边之差小于第三边的方式进行判断。注意:由于a > c - b 与 b > c - a是等效的,所以三个条件不能写重复。 ![](https://www.nowcoder.com/equation?tex=%5Ccolor%7Bblue%7D%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%EF%BC%9A&preview=true) #include
using namespace std;
int main() {
//注意输入范围是10^100级别,所以int、long long类型会超出
double a = 0, b = 0, c = 0;
//scanf返回值为正确输入数据的变量个数,当一个变量都没有成功获取数据时,此时返回-1
while (scanf("%lf %lf %lf", &a, &b, &c) != - 1) {
//a < b + c, b < a + c, c < b + a任意两边之和大于第三版(任意两边之差小于第三边,注意别写重复了)
//a > c - b 与 b > c - a 都是判断 a + b > c
if (a - b < c && b - c < a && c - a < b) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
————————————————
版权声明:本文为CSDN博主「hestyle」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://hestyle.blog.csdn.net/article/details/104699291
|